package com.lanchetech.bean.dto;

import lombok.Data;

import java.util.List;

@Data
public class RecordingConfigDTO {
    Integer channelType;//频道场景0：通信场景（默认）1：直播场景
    Integer streamTypes;//订阅的媒体流类型0：仅订阅音频且录制过程中转码1：仅订阅视频2：（默认）订阅音频和视频
    Integer decryptionMode;//解密方案。如果频道设置了加密，该参数必须设置。解密方式必须与频道设置的加密方式一致。0：（默认）不加密。5：AES_128_GCM 加密模式。128 位 AES 加密，GCM 模式。6：AES_256_GCM 加密模式。256 位 AES 加密，GCM 模式。7：AES_128_GCM2 加密模式。128 位 AES 加密，GCM 模式。 相比于 AES_128_GCM 加密模式，AES_128_GCM2 加密模式安全性更高且需要设置密钥和盐。8：AES_256_GCM2 加密模式。256 位 AES 加密，GCM 模式。相比于 AES_256_GCM 加密模式，AES_256_GCM2 加密模式安全性更高且需要设置密钥和盐。
    Integer secret;//启用解密模式后，设置解密的密钥。如果 decryptionMode 不为 0，则需要设置该值。
    Integer salt;//启用解密模式后，设置解密的盐。如果 decryptionMode 为 7 或 8，则需要设置该值
    Integer audioProfile;//设置输出音频的采样率、码率、编码模式和声道数。目前单流模式下不能设置该参数。0：（默认）48 kHz 采样率，音乐编码，单声道，编码码率约 48 Kbps1：48 kHz 采样率，音乐编码，单声道，编码码率约 128 Kbps2：48 kHz 采样率，音乐编码，双声道，编码码率约 192 Kbps
    Integer maxIdleTime;//最长空闲频道时间，单位为秒 默认值为 30。该值需大于等于 5，且小于等于 2,592,000，即 30 天。
    Integer subscribeUidGroup;//预估的订阅人数峰值。在单流模式下，为必填参数
    Integer videoStreamType;//视频流类型
    TranscodingConfigDTO transcodingConfig;//视频转码的详细设置
    List<String> subscribeVideoUids;//由 UID 组成的数组，指定订阅哪几个 UID 的视频流
    List<String> unSubscribeVideoUids;//由 UID 组成的数组，指定不订阅哪几个 UID 的视频流
    List<String> subscribeAudioUids;//由 UID 组成的数组，指定订阅哪几个 UID 的音频流
    List<String> unSubscribeAudioUids;//由 UID 组成的数组，指定不订阅哪几个 UID 的音频流
}
